#include <graphics.h>  
#include <conio.h>
#include <stdio.h>
int main()
{
	float width, height, gravity; 
	float ball_x, ball_y, ball_vy, radius; 
	float rect_left_x, rect_top_y, rect_width, rect_height, rect_vx; 
	int score = 0; 


	width = 600;  
	height = 400; 
	gravity = 0.6;  
	initgraph(width, height);

	radius = 20; 
	ball_x = width / 4;
	ball_y = height - radius - 80;  
	ball_vy = 0; 

	rect_height = 100; 
	rect_width = 20; 
	rect_left_x = width * 3 / 4; 
	rect_top_y = height - rect_height; 
	rect_vx = -3; 
	int i = 0;
    while (1)
	{
		if (_kbhit())
		{
			char input = _getch();
			if (input == ' ')
			{
				ball_vy = -10;
				i = 1;
			}
		}
		if (i == 1)
		{
			ball_vy = ball_vy + gravity;
			ball_y = ball_y + ball_vy;
		}

		if (ball_y >= height - radius)
		{
			ball_vy = 0;
			ball_y = height - radius;
			score = 0;
		}
        rect_left_x = rect_left_x + rect_vx;
		if (rect_left_x <= 0)
		{
			rect_left_x = width;
			score = score + 1;
			rect_height = rand() % int(height / 4) + height / 4;
			rect_vx = rand() / float(RAND_MAX) * 4 - 7;
		}
		if ((rect_left_x <= ball_x + radius)
			&& (rect_left_x + rect_width >= ball_x - radius)
			&& (height - rect_height <= ball_y + radius))
		{
			Sleep(50);
			score = 0;
		}
		if ((rect_left_x <= ball_x + radius)
			&& (rect_left_x + rect_width >= ball_x - radius)
			&& (height - rect_height - 150 >= ball_y - radius))
		{
			Sleep(50);
			score = 0;
    }
	closegraph();
	return 0;
}